package sort.test324;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/7/19 12:26
 */
public class Solution1 {
    public void wiggleSort(int[] nums) {
        int n = nums.length;
        if (n < 2) return;
        // 首先将数组进行排序
        Arrays.sort(nums);
        int m = (n + 1) / 2;
        int l = m - 1;
        int r = n - 1;
        List<Integer> t = new ArrayList<>();
        while (l >= 0 || r >= m) {
            if (l < 0) t.add(nums[r--]);
            else if (r < 0) t.add(nums[l--]);
            else {
                t.add(nums[l--]);
                t.add(nums[r--]);
            }
        }
        for (int i = 0; i < n; i++) {
            nums[i] = t.get(i);
        }
    }
}
